import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'

export default defineConfig({
  plugins: [vue()],
  base: '/',
  resolve: {
    alias: {
      '@': path.resolve(__dirname, 'src')
    }
  },
  optimizeDeps: {
    include: [
      'crypto-js',
      'primevue/accordion',
      'primevue/accordiontab',
      'primevue/autocomplete',
      'primevue/avatar',
      'primevue/avatargroup',
      'primevue/badge',
      'primevue/badgedirective',
      'primevue/breadcrumb',
      'primevue/button',
      'primevue/calendar',
      'primevue/card',
      'primevue/carousel',
      'primevue/cascadeselect',
      'primevue/chart',
      'primevue/checkbox',
      'primevue/chip',
      'primevue/chips',
      'primevue/colorpicker',
      'primevue/column',
      'primevue/columngroup',
      'primevue/config',
      'primevue/confirmationeventbus',
      'primevue/confirmationservice',
      'primevue/confirmdialog',
      'primevue/confirmpopup',
      'primevue/contextmenu',
      'primevue/datatable',
      'primevue/dataview',
      'primevue/dataviewlayoutoptions',
      'primevue/deferredcontent',
      'primevue/dialog',
      'primevue/divider',
      'primevue/dropdown',
      'primevue/editor',
      'primevue/fieldset',
      'primevue/fileupload',
      'primevue/galleria',
      'primevue/image',
      'primevue/inlinemessage',
      'primevue/inplace',
      'primevue/inputmask',
      'primevue/inputnumber',
      'primevue/inputswitch',
      'primevue/inputtext',
      'primevue/knob',
      'primevue/listbox',
      'primevue/megamenu',
      'primevue/menu',
      'primevue/menubar',
      'primevue/message',
      'primevue/multiselect',
      'primevue/orderlist',
      'primevue/organizationchart',
      'primevue/overlayeventbus',
      'primevue/overlaypanel',
      'primevue/paginator',
      'primevue/panel',
      'primevue/panelmenu',
      'primevue/password',
      'primevue/picklist',
      'primevue/progressbar',
      'primevue/progressspinner',
      'primevue/radiobutton',
      'primevue/rating',
      'primevue/ripple',
      'primevue/scrollpanel',
      'primevue/scrolltop',
      'primevue/selectbutton',
      'primevue/sidebar',
      'primevue/skeleton',
      'primevue/slider',
      'primevue/speeddial',
      'primevue/splitbutton',
      'primevue/splitter',
      'primevue/splitterpanel',
      'primevue/steps',
      'primevue/styleclass',
      'primevue/toast',
      'primevue/tabmenu',
      'primevue/tabpanel',
      'primevue/tabview',
      'primevue/tag',
      'primevue/textarea',
      'primevue/tieredmenu',
      'primevue/timeline',
      'primevue/toolbar',
      'primevue/tooltip',
      'primevue/tree',
      'primevue/treeselect',
      'primevue/treetable',
      'primevue/tristatecheckbox',
      'primevue/useconfirm',
      'primevue/usetoast',
      'primevue/utils',
      'primevue/virtualscroller'
    ]
  }
})

